//初始化
$(function() {
    oTable = new TableInit();
    oTable.Init();
    $("#search_name").bind("keydown", inputKeyDown);
    $("#m_btn").bind("click", saveOrUpdate);
    $('#myModal').on('hidden.bs.modal', modalHiddenEvent);//模态框隐藏触发
    $("#datetimepicker").datetimepicker({
        format: "yyyy-MM-dd",
        autoclose: true,
        todayBtn: true,
        minView:2,
        language:'zh-CN',
    });
    $.ajax({
        type : "get",
        url :"/do/gtname/getnames",
        dataType : "json",//数据类型为jsonp
        // jsonp : "jsonpCallback",//服务端用于接收callback调用的function名的参数
        success : function(data) {
            names=data.rows;
        },
        error : function(data) {
            alert("fail");
        }
    });
});

var TableInit = function () {
    var oTableInit = new Object();
    // 初始化Table
    oTableInit.Init = function () {
        $('#table').bootstrapTable({
            url: '/do/gtname/getAll', // 请求后台的URL（*）
            method: 'get', // 请求方式（*）
            contentType: "application/x-www-form-urlencoded",//post 必须制定类型，否则不能正常传值
            toolbar: '#toolbar', // 工具按钮用哪个容器
            striped: true, // 是否显示行间隔色
            cache: false, // 是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
            pagination: true, // 是否显示分页（*）
            sortName: "id",//默认排序列
            sortable: true, // 是否启用排序
            sortOrder: "asc", // 排序方式
            queryParams: oTableInit.queryParams,// 传递参数（*）
            sidePagination: "server", // 分页方式：client客户端分页，server服务端分页（*）
            pageNumber: 1, // 初始化加载第一页，默认第一页
            pageSize: 10, // 每页的记录行数（*）
            pageList: [10, 15, 20], // 可供选择的每页的行数（*）
            search: false, // 是否显示表格搜索，此搜索是客户端搜索，不会进服务端，所以，个人感觉意义不大
            strictSearch: true,
            showColumns: true, // 是否显示所有的列
            showRefresh: true, // 是否显示刷新按钮
            minimumCountColumns: 2, // 最少允许的列数
            clickToSelect: true, // 是否启用点击选中行
            // singleSelect: true,//开启单选，默认为多选
            height: 500, // 行高，如果没有设置height属性，表格自动根据记录条数觉得表格高度
            uniqueId: "id", // 每一行的唯一标识，一般为主键列
            showToggle: false, // 是否显示详细视图和列表视图的切换按钮
            cardView: false, // 是否显示详细视图
            detailView: false, // 是否显示父子表
            columns: [{
                checkbox: true
            },  {
                field: 'sx',
                title: '序号'
            },{
                field: 'name',
                title: '名字',
            },{
                field: 'id',
                title: '操作',
                formatter: function (data, row, index) {
                    var temp = ""
                    temp = "<a href='javascript:void(0)' onclick=edit('" + data + "','" + row.sx+ "','" + row.name + "')>编辑</a> ";
                    return temp;
                }
            }]
        });
    };

    // 得到查询的参数
    oTableInit.queryParams = function (params) {
        var page = (params.offset / params.limit) + 1;
        var temp = { // 这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            size: params.limit, // 页面大小
            page: page, // 第几页
            name: $("#search_name").val(),
            search: params.search,
            order: params.order,
            sort: params.sort
        };
        return temp;
    };

    return oTableInit;
};

function inputKeyDown(e) {
    if (e && e.keyCode == 13) {
        $("#table").bootstrapTable('refresh');
    }
}

function modalHiddenEvent() {
    $('#nameForm')[0].reset();
}
//编辑角色
function edit(id, sx, name) {
    $("#sx_").val(sx);
    $("#name_").val(name);
    $("#id_").val(id);

    $('#myModal').modal('show');
    $('#myModalLabel').html("编辑名字");
}
function saveOrUpdate() {
    var name = $("#name_").val();
    var sx = $("#sx_").val();
    if (name == "" || name == null ||sx_ == "" || sx_ == null) {
        return;
    }
    $("#m_btn").attr('disabled', "true");
    $.ajax({
        type: 'post',
        url: '/do/gtname/edit',
        data: {
            id: $("#id_").val(),
            name: name,
            sx: sx,
        },
        dataType: "json",
        success: function (data) {
            $('#m_btn').removeAttr("disabled");
            if (data.code == 1) {
                $('#myModal').modal('toggle');
                $("#table").bootstrapTable('refresh');
            } else {
                Ewin.alert(data.msg)
            }
        }
    });
}

$(function() {
    //头像预览
    $("#headPic").click(function () {
        $("#upload").click(); //隐藏了input:file样式后，点击头像就可以本地上传
        $("#upload").on("change",function(){
            var objUrl = getObjectURL(this.files[0]) ; //获取图片的路径，该路径不是图片在本地的路径
            if (objUrl) {
                $("#headPic").attr("src", objUrl) ; //将图片路径存入src中，显示出图片
            }
        });
    });
    //图片上传
    $("#submit_btn").click(function () {
        var imgurl = document.getElementById("upload").value;
        $.ajaxFileUpload({
            url:"/do/gtname/uploadpic",
            fileElementId: "upload", //文件上传域的ID，这里是input的ID，而不是img的
            dataType: 'json', //返回值类型 一般设置为json
            contentType: "application/x-www-form-urlencoded; charset=utf-8",
            success: function (data) {
                if (data.code==0){
                    $("#headPic").attr("src","/static/img/add.jpg");
                    //将图片换成默认的+图片
                }
            }
        });

    });
});

//建立一個可存取到該file的url
function getObjectURL(file) {
    var url = null ;
    if (window.createObjectURL!=undefined) { // basic
        url = window.createObjectURL(file) ;
    } else if (window.URL!=undefined) { // mozilla(firefox)
        url = window.URL.createObjectURL(file) ;
    } else if (window.webkitURL!=undefined) { // webkit or chrome
        url = window.webkitURL.createObjectURL(file) ;
    }
    return url ;
}
